package com.suke.czx.modules.contract.entity;

import cn.hutool.core.date.DatePattern;
import com.suke.czx.common.module.PageBo;
import com.suke.czx.common.validate.EnumValue;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 应用模块名称: 合同
 * 代码描述: 合同查询BO
 * copyright: AUZAR ALL RIGHTS RESERVED
 * company: AUZAR
 *
 * @author: 颜米晨
 * @date: 2021/09/07 20:37:26
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ContractSearchBo extends PageBo {

    /**
     * 项目Id
     */
    public Long projectId;

    /**
     * 签订开始日期
     */
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date signBeginDate;

    /**
     * 签订结束日期
     */
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date signEndDate;

    /**
     * 交付开始日期
     */
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date deliveryBeginDate;

    /**
     * 交付结束日期
     */
    @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date deliveryEndDate;

    /**
     * 合同名称
     */
    private String contractName;

    /**
     * 合同类型 1-项目合同 2-采购合同
     */
    @EnumValue(intValues = {1, 2}, message = "合同类型只能是1,2")
    private Integer contractType;

    /**
     * 甲方
     */
    private String firstParty;

    /**
     * 乙方
     */
    private String secondParty;

}
